package com.bosssoft.common.annotation.aspect;

import com.bosssoft.common.annotation.NotifySuccess;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;

@Slf4j
@Aspect
@Component
public class NotificationAspect {

    /**
     * 后置通知，在标注了 @NotifySuccess 注解的方法执行成功后记录操作成功的消息。
     *
     * @param notifySuccess 自定义注解，用于获取注解中的消息
     */
    @AfterReturning("@annotation(notifySuccess)")
    public void notifySuccess(NotifySuccess notifySuccess) {
        // 获取注解中的消息
        String message = notifySuccess.message();
        // 记录操作成功的日志消息
        log.info(message);
    }
}
